package com.ruoyi.scientific.service.impl;

import java.util.List;

import javax.annotation.Resource;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.oss.config.OssConfig;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.scientific.mapper.ScientificMapper;
import com.ruoyi.scientific.domain.Scientific;
import com.ruoyi.scientific.service.IScientificService;
import com.basic.service.impl.BaseServiceImpl;

/**
 * 科学可视化Service业务层处理
 * 
 * @author 王强
 * @date 2024-01-20
 */
@Service
public class ScientificServiceImpl extends BaseServiceImpl<Long, Scientific> implements IScientificService 
{
	
	OssConfig config;
	
	@Resource
    public void setConfig(OssConfig config) {
		this.config = config;
	}
	public ScientificServiceImpl(ScientificMapper baseMapper) {
		super(baseMapper);
		// TODO Auto-generated constructor stub
	}
    /**
     * 查询科学可视化
     * 
     * @param id 科学可视化主键
     * @return 科学可视化
     */
    @Override
    public Scientific selectById(Integer id)
    {
        return baseMapper.selectById(id);
    }

    /**
     * 查询科学可视化列表
     * 
     * @param scientific 科学可视化
     * @return 科学可视化
     */
    @Override
    public List<Scientific> selectList(Scientific scientific)
    {
        List<Scientific> selectList = baseMapper.selectList(scientific);
        
        if (0 == selectList.size()) {
        	return selectList;
        }
        
        String prefix = "http://".concat(config.getURL());
        
        for (Scientific scientific2 : selectList) {
			
        	scientific2.setBannerPic(prefix.concat(scientific2.getBannerPic()));
        	
		}
        
		return selectList;
    }

    /**
     * 新增科学可视化
     * 
     * @param scientific 科学可视化
     * @return 结果
     */
    @Override
    public int insert(Scientific scientific)
    {
        return baseMapper.insert(scientific);
    }

    /**
     * 修改科学可视化
     * 
     * @param scientific 科学可视化
     * @return 结果
     */
    @Override
    public int update(Scientific scientific)
    {
    	String prefix = (config.getURL());

		String pic = scientific.getBannerPic();

		pic = pic.replaceAll("http://", "").replaceAll("https://", "").replaceAll(prefix, "");

		scientific.setBannerPic(pic);
    	
        return baseMapper.update(scientific);
    }

    /**
     * 批量删除科学可视化
     * 
     * @param ids 需要删除的科学可视化主键
     * @return 结果
     */
    @Override
    public int deleteByIds(Integer[] ids)
    {
        return baseMapper.deleteByIds(ids);
    }

    /**
     * 删除科学可视化信息
     * 
     * @param id 科学可视化主键
     * @return 结果
     */
    @Override
    public int deleteById(Integer id)
    {
        return baseMapper.deleteById(id);
    }
}
